package persistencia.pruebas;


import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import persistencia.compartido.Repositorio;
import persistencia.compartido.Tipo;

import compartido.IEntidad;
import compartido.Usuario;

public class RepositorioTest {

	@Before
	public void setUp() throws Exception {
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void GuardarUsuarioYValidarlo_EjecucionCorrecta() {
		Repositorio repositorio = new Repositorio(".");
		
		Usuario usuario = new Usuario("esteban","esteban");
		
		repositorio.guardarEntidad(usuario);
		
		repositorio.guardar();
		
		IEntidad entidad = repositorio.obtenerEntidad(new Tipo<IEntidad>(Usuario.class), "esteban");
		
		assertTrue( (entidad instanceof Usuario) );
		
		Usuario copia = (Usuario)entidad;
		assertEquals( 0 , copia.compareTo(usuario) );
		assertEquals( 0 , copia.getPassword().compareTo(usuario.getPassword()) );
	}
}
